Data in an electronic form often must be acquired and accumulated by an electronic client device or the like via transmissions across a network. Constraints on these acquisition and accumulation functions include available network bandwidth, access patterns with respect to frequency and time required of the data by a population of subscribers or client devices, economic issues such as a number of servers needed to support client devices of subscribers, and/or like issues.
By way of example, the network may be operated by a multiple systems operator (MSO) such as a service provider of terrestrial, cable or satellite digital TV, and the data may be for an Electronic Program Guide (EPG) or like service. A subscriber to a service provider of digital TV will typically have a monitor or television (TV) connected to a set top-box (STB) or like customer premise equipment (CPE). The STB is able to receive a multitude of TV channels from a broadcast head end of the network, and each TV channel may have a multitude of scheduled programs during a typical day.
STBs typically provide the subscriber with an EPG that enables the display of a listing of scheduled programs for a predetermined period of time and provides, among others, information about broadcast dates and times and content information. For example, the program attributes may include content information which describes the channel, title, time, actor, director, genre, language and the like for each program. Television viewers can navigate through an onscreen program guide to locate programming and browse or query the guide for currently available programming as well as schedules of programming available in the future.
A conventional EPG user interface (UI) lists multiple programs in a two-dimensional grid-like pattern or format with one dimension of the grid being a name of a channel that is broadcasting the specified programming and the other dimension being scheduled broadcast times. The length of the program block for a particular program appearing in the grid is typically proportional to the length in time of the program. Accordingly, a user is able to see what programming is available and when it is scheduled to start and end.
Program metadata of such guides is typically provided from a source, such as Tribune Media Services, mapped into a desired format, and ingested on a daily basis by a central database of a MSO. In typical so-called “legacy” systems, the updated data is carried on broadcast or multicast carousels which allow applications on the STBs to tune to the multicast via out-of-band receivers and obtain a complete set of new data on a daily basis for an entire rolling window of days of programming. Another potential approach for providing EPG data to STBs is via the use of web servers and browser-based web applications.
In a web-services model, the STBs or other client devices request (e.g., pull or fetch) the program metadata individually and build-up the memory in the set-top box for usage by a program guide application residing on the STB. This is accomplished via unicast communications to individual set-top boxes aiming to get the program metadata. If the client device obtains updates of metadata frequently, such as on a daily basis, latency associated with data retrieval can become unacceptable due to constraints of available network bandwidth, access patterns to the data requested by the client devices, and economics with respect to the number of servers needed to support the population of client devices.